E-mail, short for electronic mail and often abbreviated to e-mail, email or simply mail, is a store-and-forward method of composing, sending, receiving, and storing messages over electronic communication systems. The term “e-mail” (as a noun or verb) applies to several different types of systems, including the Internet e-mail system based on the Simple Mail Transfer Protocol (SMTP), X.400 systems, and to intranet systems allowing users within an organization to e-mail each other. Intranets may use Internet protocols or X.400 protocols for internal e-mail service. Messages are exchanged between hosts using SMTP with software programs called mail transport agents (MTAs). Users can download their messages from servers with standard protocols such as the Post Office Protocol (POP) or Internet Message Access Protocol (IMAP), or, as is more likely in a large corporate environment, with a proprietary protocol specific to Lotus Notes or Microsoft Exchange Servers (e.g., Messaging Application Programming Interface (MAPI)/Remote Procedure Call (RPC)).
FIG. 1 is a block diagram that illustrates a typical sequence of events when a user sends an email message over the Internet. In block 110, a user Alice types in, or selects from an address book, the e-mail address of her recipient, types a message, and hits the “send” button using her mail user agent (MUA). Alice's MUA formats the message in Internet e-mail format and uses SMTP to send the message to the local MTA, in this case smtp.a.org, run by Alice's Internet Service Provider (ISP). The MTA reads the destination address provided by SMTP, in this case bob@b.org, and, in block 120, looks up the associated domain name in the Domain Name System (DNS) to find the mail exchange servers accepting messages for that domain. In block 130, the DNS server for the b.org domain, ns.b.org, responds with a mail exchange (MX) record listing the MX servers for that domain, in this case mx.b.org, a server run by the recipient's ISP. In block 140, Alice's MTA, smtp.a.org, sends the message to mx.b.org using SMTP, which delivers it to the mailbox of the user Bob. In block 150, Bob presses the “get mail” button in his MUA, which picks up the message using POP or another suitable protocol.
One problem with email is that it is not very secure. As illustrated by FIG. 1, SMTP is a text-based protocol and messages using SMTP traverse the Internet, going through any number of servers, routers, and domains. Along any of these routes, the message can be easily intercepted and modified. Even if the message is not modified, an undesirable person may be able to view the message's contents, making email unsuitable for confidential business or personal information. Another problem is that email can be easily spoofed, or made to appear to come from someone other than the real sender. Spammers often used the text-based nature of SMTP to fill in whatever sender information is most likely to cause an unsuspecting recipient to read the message.
Many government, corporate, and organizational environments that depend on secure email have elected to operate private email servers that do not transmit email addressed to recipients within the organization over the Internet. Instead, these email servers transmit email over a secure corporate network, using either a local area network (LAN) or a virtual private network (VPN) in combination with LANs to create a secure channel to connect remote offices of the same organization. However, this does not help when members of these organizations need to send email to a member of another organization (e.g., when a Microsoft employee sends email to an Intel employee).
Other solutions require an initial exchange of certificates or keys between users that is difficult between large organizations. For example, two users can securely send email to one another by exchanging keys and using S/MIME (Secure/Multipurpose Internet Mail Extensions) or Pretty Good Privacy (PGP). Large organizations can encrypt the delivery of messages between them by exchanging certificates and using the Secure Sockets Layer (SSL) or other secure protocol (e.g., IPSEC) to transmit the email back and forth. It is not feasible for each organization to securely convey (e.g., hand carry) a storage medium full of keys to every other organization with which its members may want to securely exchange email. This type of solution does not scale well as the number of organizations increases, and does not allow communication between parties that have not previously met.